0000 ; BASIC interpreter from Rolf-Dieter Klein's book. 0000 ; 0000 ; Modified to assemble online at asm80.com 0000 ; 0000 ; Uses 8080 mnemonics 0000 ; and one Z80 mnemonic (LDIR) 0000 ; asm80.com does not allow mixing by default. 0000 ; 0000 ; 0000 ; .PABS 0000 ; .PHEX 0000 ; 0000 ; RDK BASIC INTERPRETER V3.2 1980-03-16 0000 ; 1000 .ORG $1000 1000 ; ANBAS=\ " ANFANGS ADRESSE BASIC" 1000 ANBAS: = " ANFANGS ADRESSE BASIC" 1000 ; .LOC 100H ; BEI CPM 0100 .ORG $100 0100 C3 E3 0F JMP BEGINN 0103 ; .LOC ANBAS-29 0FE3 .ORG $FE3 0FE3 BEGINN: 0FE3 31 0F 21 LXI SP,STACK 0FE6 3E C9 MVI A,0C9H 0FE8 32 00 10 STA HAUPTP 0FEB CD 00 10 CALL HAUPTP 0FEE ANF: 0FEE 3B DCX SP 0FEF 3B DCX SP 0FF0 D1 POP D 0FF1 21 12 00 LXI H,HAUPTP-ANF 0FF4 19 DAD D 0FF5 11 00 10 LXI D,HAUPTP 0FF8 01 86 0A LXI B,ENDE-BEGINN 0FFB ; LDIR ; Z80 instruction! 0FFB ED 80 DB $ED,$80 0FFD C3 C0 16 JMP START ;HAUPTPROGRAMM 1000 HAUPTP: 1000 C3 C0 16 JMP START 1003 C3 B8 10 JMP RSTART 1006 C3 03 F0 CI: JMP 0F003H 1009 C3 09 F0 ECHO: JMP 0F009H 100C C3 12 F0 CSTS: JMP 0F012H 100F COMP: 100F 7C MOV A,H 1010 BA CMP D 1011 C0 RNZ 1012 7D MOV A,L 1013 BB CMP E 1014 C9 RET 1015 IGNB: 1015 1A LDAX D 1016 FE 20 CPI " " 1018 C0 RNZ 1019 13 INX D 101A C3 15 10 JMP IGNB 101D FINI: 101D F1 POP PSW 101E CD 0E 15 CALL FIN 1021 C3 27 15 JMP QWHAT 1024 TSTV: 1024 CD 15 10 CALL IGNB 1027 D6 40 SUI 040H 1029 D8 RC 102A C2 48 10 JNZ TV1 102D 13 INX D 102E CD 62 14 CALL PARN 1031 29 DAD H 1032 DA 96 10 JC QHOW 1035 D5 PUSH D 1036 EB XCHG 1037 CD A9 14 CALL SIZE 103A CD 0F 10 CALL COMP 103D DA 57 15 JC ASORRY 1040 2A 48 21 LHLD TXTEND 1043 CD CC 14 CALL SUBDE 1046 D1 POP D 1047 C9 RET 1048 TV1: 1048 FE 1B CPI 01BH 104A 3F CMC 104B D8 RC 104C 13 INX D 104D 21 11 21 LXI H,VARBGN 1050 07 RLC 1051 85 ADD L 1052 6F MOV L,A 1053 3E 00 MVI A,0 1055 8C ADC H 1056 67 MOV H,A 1057 C9 RET 1058 TSTC: 1058 E3 XTHL 1059 CD 15 10 CALL IGNB 105C BE CMP M 105D TC1: 105D 23 INX H 105E CA 68 10 JZ TC2 1061 C5 PUSH B 1062 4E MOV C,M 1063 06 00 MVI B,0 1065 09 DAD B 1066 C1 POP B 1067 1B DCX D 1068 TC2: 1068 13 INX D 1069 23 INX H 106A E3 XTHL 106B C9 RET 106C TSTNUM: 106C 21 00 00 LXI H,0 106F 44 MOV B,H 1070 CD 15 10 CALL IGNB 1073 TN1: 1073 FE 30 CPI "0" 1075 D8 RC 1076 FE 3A CPI 03AH 1078 D0 RNC 1079 3E F0 MVI A,0F0H 107B A4 ANA H 107C C2 96 10 JNZ QHOW 107F 04 INR B 1080 C5 PUSH B 1081 44 MOV B,H 1082 4D MOV C,L 1083 29 DAD H 1084 29 DAD H 1085 09 DAD B 1086 29 DAD H 1087 1A LDAX D 1088 13 INX D 1089 E6 0F ANI 0FH 108B 85 ADD L 108C 6F MOV L,A 108D 3E 00 MVI A,0 108F 8C ADC H 1090 67 MOV H,A 1091 C1 POP B 1092 1A LDAX D 1093 F2 73 10 JP TN1 1096 QHOW: 1096 D5 PUSH D 1097 AHOW: 1097 11 9D 10 LXI D,HOW 109A C3 2B 15 JMP ERROR 109D 48 4F 57 3F 0D 0A HOW: DB "HOW?",$0DH,$0AH 10A3 ; .ASCII /HOW? 10A3 ; / 10A3 52 45 41 44 59 0D 0A OK: DB "READY",$0DH,$0AH 10AA ; .ASCII /READY 10AA ; / 10AA 57 48 41 54 3F 0D 0A WHAT: DB "WHAT?",$0DH,$0AH 10B1 ; .ASCII /WHAT? 10B1 ; / 10B1 53 4F 52 52 59 0D 0A SORRY: DB "SORRY",$0DH,$0AH 10B8 ; .ASCII /SORRY 10B8 ; / 10B8 ; 10B8 ; HAUPTPROGRAMM 10B8 ; LEGT PROGRAMM IM SPEICHER AB 10B8 ; DEFINIERT REGISTER 10B8 ; LIEST EINE BENUTZERZEILE UM 10B8 ; DIESE ZU VERARBEITEN 10B8 ; 10B8 RSTART: 10B8 31 0F 21 LXI SP,STACK 10BB ST1: 10BB CD F9 16 CALL CRLF 10BE 11 A3 10 LXI D,OK 10C1 97 SUB A 10C2 CD CA 15 CALL PRTSTG 10C5 21 CC 10 LXI H,ST2+1 10C8 22 07 20 SHLD CURRNT 10CB ST2: 10CB 21 08 00 LXI H,8 10CE 22 0F 20 SHLD LOPVAR 10D1 22 09 20 SHLD STKGOS 10D4 ST3: 10D4 3E 3E MVI A,">" 10D6 CD 5D 15 CALL GETLN 10D9 D5 PUSH D 10DA CD A9 18 CALL DBUFF 10DD CD 6C 10 CALL TSTNUM 10E0 CD 15 10 CALL IGNB 10E3 7C MOV A,H 10E4 B5 ORA L 10E5 C1 POP B 10E6 CA 76 18 JZ DIRECT 10E9 1B DCX D 10EA 7C MOV A,H 10EB 12 STAX D 10EC 1B DCX D 10ED 7D MOV A,L 10EE 12 STAX D 10EF C5 PUSH B 10F0 D5 PUSH D 10F1 79 MOV A,C 10F2 93 SUB E 10F3 F5 PUSH PSW 10F4 CD A0 15 CALL FNDLN 10F7 D5 PUSH D 10F8 C2 0B 11 JNZ ST4 10FB D5 PUSH D 10FC CD BE 15 CALL FNDNXT 10FF C1 POP B 1100 2A 1B 20 LHLD TXTUNF 1103 CD 61 16 CALL MVUP 1106 60 MOV H,B 1107 69 MOV L,C 1108 22 1B 20 SHLD TXTUNF 110B ST4: 110B C1 POP B 110C 2A 1B 20 LHLD TXTUNF 110F F1 POP PSW 1110 E5 PUSH H 1111 FE 03 CPI 3 1113 CA B8 10 JZ RSTART 1116 85 ADD L 1117 6F MOV L,A 1118 3E 00 MVI A,0 111A 8C ADC H 111B 67 MOV H,A 111C CD B1 18 CALL DTXTE 111F CD 0F 10 CALL COMP 1122 D2 56 15 JNC QSORRY 1125 22 1B 20 SHLD TXTUNF 1128 D1 POP D 1129 CD 6C 16 CALL MVDOWN 112C D1 POP D 112D E1 POP H 112E CD 61 16 CALL MVUP 1131 C3 D4 10 JMP ST3 1134 ; 1134 ; NEW STOP RUN GOTO UPR 1134 ; 1134 NEW: 1134 CD 21 15 CALL ENDCHK 1137 21 4E 21 LXI H,TXTBGN 113A 22 1B 20 SHLD TXTUNF 113D STOP: 113D CD 21 15 CALL ENDCHK 1140 C3 B8 10 JMP RSTART 1143 RUN: 1143 CD 21 15 CALL ENDCHK 1146 11 4E 21 LXI D,TXTBGN 1149 RUNNXL: 1149 21 00 00 LXI H,0 114C CD A8 15 CALL FNDLP 114F DA B8 10 JC RSTART 1152 RUNTSL: 1152 EB XCHG 1153 22 07 20 SHLD CURRNT 1156 EB XCHG 1157 13 INX D 1158 13 INX D 1159 RUNSML: 1159 CD 5C 1A CALL CONT 115C 21 72 17 LXI H,TAB2-1 115F C3 79 18 JMP EXEC 1162 GOTO: 1162 CD 63 13 CALL EXPR 1165 D5 PUSH D 1166 CD 21 15 CALL ENDCHK 1169 CD A0 15 CALL FNDLN 116C C2 97 10 JNZ AHOW 116F F1 POP PSW 1170 C3 52 11 JMP RUNTSL 1173 ; 1173 ; LIST PRINT UPR 1173 ; 1173 LIST: 1173 CD 6C 10 CALL TSTNUM 1176 CD 21 15 CALL ENDCHK 1179 CD A0 15 CALL FNDLN 117C LS1: 117C DA B8 10 JC RSTART 117F CD 4C 16 CALL PRTLN 1182 CD 5C 1A CALL CONT 1185 CD A8 15 CALL FNDLP 1188 C3 7C 11 JMP LS1 118B PRINT: 118B 0E 06 MVI C,6 118D CD 58 10 CALL TSTC 1190 38 DB 038H 1191 06 DB PR2-$-1 1192 CD F9 16 CALL CRLF 1195 C3 59 11 JMP RUNSML 1198 PR2: 1198 CD 58 10 CALL TSTC 119B 0D DB 0DH 119C 06 DB PR0-$-1 119D CD F9 16 CALL CRLF 11A0 C3 49 11 JMP RUNNXL 11A3 PR0: 11A3 CD 58 10 CALL TSTC 11A6 23 DB 023H 11A7 07 DB PR1-$-1 11A8 CD 63 13 CALL EXPR 11AB 4D MOV C,L 11AC C3 B5 11 JMP PR3 11AF PR1: 11AF CD D8 15 CALL QTSTG 11B2 C3 C6 11 JMP PR8 11B5 PR3: 11B5 CD 58 10 CALL TSTC 11B8 2C DB 02CH 11B9 06 DB PR6-$-1 11BA CD 0E 15 CALL FIN 11BD C3 A3 11 JMP PR0 11C0 PR6: 11C0 CD F9 16 CALL CRLF 11C3 CD 1D 10 CALL FINI 11C6 PR8: 11C6 CD 63 13 CALL EXPR 11C9 C5 PUSH B 11CA CD 08 16 CALL PRTNUM 11CD C1 POP B 11CE C3 B5 11 JMP PR3 11D1 ; 11D1 ; GOSUB RETURN UPR 11D1 ; 11D1 GOSUB: 11D1 CD 97 16 CALL PUSHA 11D4 CD 63 13 CALL EXPR 11D7 D5 PUSH D 11D8 CD A0 15 CALL FNDLN 11DB C2 97 10 JNZ AHOW 11DE 2A 07 20 LHLD CURRNT 11E1 E5 PUSH H 11E2 2A 09 20 LHLD STKGOS 11E5 E5 PUSH H 11E6 21 00 00 LXI H,0 11E9 22 0F 20 SHLD LOPVAR 11EC 39 DAD SP 11ED 22 09 20 SHLD STKGOS 11F0 C3 52 11 JMP RUNTSL 11F3 RETURN: 11F3 CD 21 15 CALL ENDCHK 11F6 2A 09 20 LHLD STKGOS 11F9 7C MOV A,H 11FA B5 ORA L 11FB CA 27 15 JZ QWHAT 11FE F9 SPHL 11FF E1 POP H 1200 22 09 20 SHLD STKGOS 1203 E1 POP H 1204 22 07 20 SHLD CURRNT 1207 D1 POP D 1208 CD 7B 16 CALL POPA 120B CD 1D 10 CALL FINI 120E ; 120E ; FOR NEXT UPR 120E ; 120E FOR: 120E CD 97 16 CALL PUSHA 1211 CD F5 14 CALL SETVAL 1214 2B DCX H 1215 22 0F 20 SHLD LOPVAR 1218 21 46 18 LXI H,TAB5-1 121B C3 79 18 JMP EXEC 121E FR1: 121E CD 63 13 CALL EXPR 1221 22 13 20 SHLD LOPLMT 1224 21 4E 18 LXI H,TAB6-1 1227 C3 79 18 JMP EXEC 122A FR2: 122A CD 63 13 CALL EXPR 122D C3 33 12 JMP FR4 1230 FR3: 1230 21 01 00 LXI H,1 1233 FR4: 1233 22 11 20 SHLD LOPINC 1236 FR5: 1236 2A 07 20 LHLD CURRNT 1239 22 15 20 SHLD LOPLN 123C EB XCHG 123D 22 17 20 SHLD LOPPT 1240 01 0A 00 LXI B,0AH 1243 2A 0F 20 LHLD LOPVAR 1246 EB XCHG 1247 60 MOV H,B 1248 68 MOV L,B 1249 39 DAD SP 124A 3E DB 03EH 124B FR7: 124B 09 DAD B 124C 7E MOV A,M 124D 23 INX H 124E B6 ORA M 124F CA 6C 12 JZ FR8 1252 7E MOV A,M 1253 2B DCX H 1254 BA CMP D 1255 C2 4B 12 JNZ FR7 1258 7E MOV A,M 1259 BB CMP E 125A C2 4B 12 JNZ FR7 125D EB XCHG 125E 21 00 00 LXI H,0 1261 39 DAD SP 1262 44 MOV B,H 1263 4D MOV C,L 1264 21 0A 00 LXI H,0AH 1267 19 DAD D 1268 CD 6C 16 CALL MVDOWN 126B F9 SPHL 126C FR8: 126C 2A 17 20 LHLD LOPPT 126F EB XCHG 1270 CD 1D 10 CALL FINI 1273 NEXT: 1273 CD 24 10 CALL TSTV 1276 DA 27 15 JC QWHAT 1279 22 0B 20 SHLD VARNXT 127C NX0: 127C D5 PUSH D 127D EB XCHG 127E 2A 0F 20 LHLD LOPVAR 1281 7C MOV A,H 1282 B5 ORA L 1283 CA 28 15 JZ AWHAT 1286 CD 0F 10 CALL COMP 1289 CA 96 12 JZ NX3 128C D1 POP D 128D CD 7B 16 CALL POPA 1290 2A 0B 20 LHLD VARNXT 1293 C3 7C 12 JMP NX0 1296 NX3: 1296 5E MOV E,M 1297 23 INX H 1298 56 MOV D,M 1299 2A 11 20 LHLD LOPINC 129C E5 PUSH H 129D 7C MOV A,H 129E AA XRA D 129F 7A MOV A,D 12A0 19 DAD D 12A1 FA A8 12 JM NX4 12A4 AC XRA H 12A5 FA CC 12 JM NX5 12A8 NX4: 12A8 EB XCHG 12A9 2A 0F 20 LHLD LOPVAR 12AC 73 MOV M,E 12AD 23 INX H 12AE 72 MOV M,D 12AF 2A 13 20 LHLD LOPLMT 12B2 F1 POP PSW 12B3 B7 ORA A 12B4 F2 B8 12 JP NX1 12B7 EB XCHG 12B8 NX1: 12B8 CD EB 14 CALL CKHLDE 12BB D1 POP D 12BC DA CE 12 JC NX2 12BF 2A 15 20 LHLD LOPLN 12C2 22 07 20 SHLD CURRNT 12C5 2A 17 20 LHLD LOPPT 12C8 EB XCHG 12C9 CD 1D 10 CALL FINI 12CC NX5: 12CC E1 POP H 12CD D1 POP D 12CE NX2: 12CE CD 7B 16 CALL POPA 12D1 CD 1D 10 CALL FINI 12D4 ; 12D4 ; REM IF INPUT LET UPR 12D4 ; 12D4 ; 12D4 REM: 12D4 21 00 00 LXI H,0 12D7 C3 DD 12 JMP IFFR 12DA IFF: 12DA CD 63 13 CALL EXPR 12DD IFFR: 12DD 7C MOV A,H 12DE B5 ORA L 12DF C2 59 11 JNZ RUNSML 12E2 CD C0 15 CALL FNDSKP 12E5 D2 52 11 JNC RUNTSL 12E8 C3 B8 10 JMP RSTART 12EB INPERR: 12EB 2A 0D 20 LHLD STKINP 12EE F9 SPHL 12EF E1 POP H 12F0 22 07 20 SHLD CURRNT 12F3 D1 POP D 12F4 D1 POP D 12F5 INPUT: 12F5 IP1: 12F5 D5 PUSH D 12F6 CD D8 15 CALL QTSTG 12F9 C3 05 13 JMP IP2 12FC CD 24 10 CALL TSTV 12FF DA 43 13 JC IP4 1302 C3 17 13 JMP IP3 1305 IP2: 1305 D5 PUSH D 1306 CD 24 10 CALL TSTV 1309 DA 27 15 JC QWHAT 130C 1A LDAX D 130D 4F MOV C,A 130E 97 SUB A 130F 12 STAX D 1310 D1 POP D 1311 CD CA 15 CALL PRTSTG 1314 79 MOV A,C 1315 1B DCX D 1316 12 STAX D 1317 IP3: 1317 D5 PUSH D 1318 EB XCHG 1319 2A 07 20 LHLD CURRNT 131C E5 PUSH H 131D 21 F5 12 LXI H,IP1 1320 22 07 20 SHLD CURRNT 1323 21 00 00 LXI H,0 1326 39 DAD SP 1327 22 0D 20 SHLD STKINP 132A D5 PUSH D 132B 3E 3A MVI A,03AH 132D CD 5D 15 CALL GETLN 1330 CD A9 18 CALL DBUFF 1333 CD 63 13 CALL EXPR 1336 CD 5C 1A CALL CONT 1339 D1 POP D 133A EB XCHG 133B 73 MOV M,E 133C 23 INX H 133D 72 MOV M,D 133E E1 POP H 133F 22 07 20 SHLD CURRNT 1342 D1 POP D 1343 IP4: 1343 F1 POP PSW 1344 CD 58 10 CALL TSTC 1347 2C DB "," 1348 03 DB IP5-$-1 1349 C3 F5 12 JMP IP1 134C IP5: 134C CD 1D 10 CALL FINI 134F DEFLT: 134F 1A LDAX D 1350 FE 0D CPI 0DH 1352 CA 60 13 JZ LT1 1355 LET: 1355 CD F5 14 CALL SETVAL 1358 CD 58 10 CALL TSTC 135B 2C DB "," 135C 03 DB LT1-$-1 135D C3 55 13 JMP LET 1360 LT1: 1360 CD 1D 10 CALL FINI 1363 ; 1363 ; EXPR UPR 1363 ; 1363 EXPR: 1363 CD AB 13 CALL EXPR2 1366 E5 PUSH H 1367 EXPR1: 1367 21 58 18 LXI H,TAB8-1 136A C3 79 18 JMP EXEC 136D XP11: 136D CD 96 13 CALL XP18 1370 D8 RC 1371 6F MOV L,A 1372 C9 RET 1373 XP12: 1373 CD 96 13 CALL XP18 1376 C8 RZ 1377 6F MOV L,A 1378 C9 RET 1379 XP13: 1379 CD 96 13 CALL XP18 137C C8 RZ 137D D8 RC 137E 6F MOV L,A 137F C9 RET 1380 XP14: 1380 CD 96 13 CALL XP18 1383 6F MOV L,A 1384 C8 RZ 1385 D8 RC 1386 6C MOV L,H 1387 C9 RET 1388 XP15: 1388 CD 96 13 CALL XP18 138B C0 RNZ 138C 6F MOV L,A 138D C9 RET 138E XP16: 138E CD 96 13 CALL XP18 1391 D0 RNC 1392 6F MOV L,A 1393 C9 RET 1394 XP17: 1394 E1 POP H 1395 C9 RET 1396 XP18: 1396 79 MOV A,C 1397 E1 POP H 1398 C1 POP B 1399 E5 PUSH H 139A C5 PUSH B 139B 4F MOV C,A 139C CD AB 13 CALL EXPR2 139F EB XCHG 13A0 E3 XTHL 13A1 CD EB 14 CALL CKHLDE 13A4 D1 POP D 13A5 21 00 00 LXI H,0 13A8 3E 01 MVI A,1 13AA C9 RET 13AB EXPR2: 13AB CD 58 10 CALL TSTC 13AE 2D DB 02DH 13AF 06 DB XP21-$-1 13B0 21 08 00 LXI H,8 13B3 C3 DD 13 JMP XP26 13B6 XP21: 13B6 CD 58 10 CALL TSTC 13B9 2B DB 02BH 13BA 00 DB XP22-$-1 13BB XP22: 13BB CD E7 13 CALL EXPR3 13BE XP23: 13BE CD 58 10 CALL TSTC 13C1 2B DB 02BH 13C2 15 DB XP25-$-1 13C3 E5 PUSH H 13C4 CD E7 13 CALL EXPR3 13C7 XP24: 13C7 EB XCHG 13C8 E3 XTHL 13C9 7C MOV A,H 13CA AA XRA D 13CB 7A MOV A,D 13CC 19 DAD D 13CD D1 POP D 13CE FA BE 13 JM XP23 13D1 AC XRA H 13D2 F2 BE 13 JP XP23 13D5 C3 96 10 JMP QHOW 13D8 XP25: 13D8 CD 58 10 CALL TSTC 13DB 2D DB 02DH 13DC 92 DB XP42-$-1 13DD XP26: 13DD E5 PUSH H 13DE CD E7 13 CALL EXPR3 13E1 CD D6 14 CALL CHGSGN 13E4 C3 C7 13 JMP XP24 13E7 EXPR3: 13E7 CD 4B 14 CALL EXPR4 13EA XP31: 13EA CD 58 10 CALL TSTC 13ED 2A DB 02AH 13EE 2D DB XP34-$-1 13EF E5 PUSH H 13F0 CD 4B 14 CALL EXPR4 13F3 06 00 MVI B,0 13F5 CD D3 14 CALL CHKSGN 13F8 E3 XTHL 13F9 CD D3 14 CALL CHKSGN 13FC EB XCHG 13FD E3 XTHL 13FE ; 13FE 7C MOV A,H 13FF B7 ORA A 1400 CA 09 14 JZ XP32 1403 7A MOV A,D 1404 B2 ORA D 1405 EB XCHG 1406 C2 97 10 JNZ AHOW 1409 XP32: 1409 7D MOV A,L 140A 21 00 00 LXI H,0 140D B7 ORA A 140E CA 3D 14 JZ XP35 1411 XP33: 1411 19 DAD D 1412 DA 97 10 JC AHOW 1415 3D DCR A 1416 C2 11 14 JNZ XP33 1419 C3 3D 14 JMP XP35 141C XP34: 141C CD 58 10 CALL TSTC 141F 2F DB 02FH 1420 4E DB XP42-$-1 1421 E5 PUSH H 1422 CD 4B 14 CALL EXPR4 1425 06 00 MVI B,0 1427 CD D3 14 CALL CHKSGN 142A E3 XTHL 142B CD D3 14 CALL CHKSGN 142E EB XCHG 142F E3 XTHL 1430 EB XCHG 1431 7A MOV A,D 1432 B3 ORA E 1433 CA 97 10 JZ AHOW 1436 C5 PUSH B 1437 CD B6 14 CALL DIVIDE 143A 60 MOV H,B 143B 69 MOV L,C 143C C1 POP B 143D XP35: 143D D1 POP D 143E 7C MOV A,H 143F B7 ORA A 1440 FA 96 10 JM QHOW 1443 78 MOV A,B 1444 B7 ORA A 1445 FC D6 14 CM CHGSGN 1448 C3 EA 13 JMP XP31 144B EXPR4: 144B 21 FE 17 LXI H,TAB4-1 144E C3 79 18 JMP EXEC 1451 XP40: 1451 CD 24 10 CALL TSTV 1454 DA 5C 14 JC XP41 1457 7E MOV A,M 1458 23 INX H 1459 66 MOV H,M 145A 6F MOV L,A 145B C9 RET 145C XP41: 145C CD 6C 10 CALL TSTNUM 145F 78 MOV A,B 1460 B7 ORA A 1461 C0 RNZ 1462 PARN: 1462 CD 58 10 CALL TSTC 1465 28 DB 028H 1466 09 DB XP43-$-1 1467 CD 63 13 CALL EXPR 146A CD 58 10 CALL TSTC 146D 29 DB 029H 146E 01 DB XP43-$-1 146F XP42: 146F C9 RET 1470 XP43: 1470 C3 27 15 JMP QWHAT 1473 RND: 1473 CD 62 14 CALL PARN 1476 7C MOV A,H 1477 B7 ORA A 1478 FA 96 10 JM QHOW 147B B5 ORA L 147C CA 96 10 JZ QHOW 147F D5 PUSH D 1480 E5 PUSH H 1481 2A 19 20 LHLD RANPNT 1484 11 05 20 LXI D,LSTROM 1487 CD 0F 10 CALL COMP 148A DA 90 14 JC RA1 148D 21 C0 16 LXI H,START 1490 RA1: 1490 5E MOV E,M 1491 23 INX H 1492 56 MOV D,M 1493 22 19 20 SHLD RANPNT 1496 E1 POP H 1497 EB XCHG 1498 C5 PUSH B 1499 CD B6 14 CALL DIVIDE 149C C1 POP B 149D D1 POP D 149E 23 INX H 149F C9 RET 14A0 ABS: 14A0 CD 62 14 CALL PARN 14A3 1B DCX D 14A4 CD D3 14 CALL CHKSGN 14A7 13 INX D 14A8 C9 RET 14A9 SIZE: 14A9 2A 1B 20 LHLD TXTUNF 14AC D5 PUSH D 14AD EB XCHG 14AE 2A 48 21 LHLD TXTEND 14B1 CD CC 14 CALL SUBDE 14B4 D1 POP D 14B5 C9 RET 14B6 ; 14B6 ; DIVIDE SUBDE CHKSGN CHGSGN 14B6 ; CKHLDE UPR 14B6 ; 14B6 DIVIDE: 14B6 E5 PUSH H 14B7 6C MOV L,H 14B8 26 00 MVI H,0 14BA CD C1 14 CALL DV1 14BD 41 MOV B,C 14BE 7D MOV A,L 14BF E1 POP H 14C0 67 MOV H,A 14C1 DV1: 14C1 0E FF MVI C,0FFH 14C3 DV2: 14C3 0C INR C 14C4 CD CC 14 CALL SUBDE 14C7 D2 C3 14 JNC DV2 14CA 19 DAD D 14CB C9 RET 14CC SUBDE: 14CC 7D MOV A,L 14CD 93 SUB E 14CE 6F MOV L,A 14CF 7C MOV A,H 14D0 9A SBB D 14D1 67 MOV H,A 14D2 C9 RET 14D3 CHKSGN: 14D3 7C MOV A,H 14D4 B7 ORA A 14D5 F0 RP 14D6 CHGSGN: 14D6 7C MOV A,H 14D7 B5 ORA L 14D8 C8 RZ 14D9 7C MOV A,H 14DA F5 PUSH PSW 14DB 2F CMA 14DC 67 MOV H,A 14DD 7D MOV A,L 14DE 2F CMA 14DF 6F MOV L,A 14E0 23 INX H 14E1 F1 POP PSW 14E2 AC XRA H 14E3 F2 96 10 JP QHOW 14E6 78 MOV A,B 14E7 EE 80 XRI 080H 14E9 47 MOV B,A 14EA C9 RET 14EB CKHLDE: 14EB 7C MOV A,H 14EC AA XRA D 14ED F2 F1 14 JP CK1 14F0 EB XCHG 14F1 CK1: 14F1 CD 0F 10 CALL COMP 14F4 C9 RET 14F5 ; 14F5 ; SETVAL FIN ENDCHK ERROR UPR 14F5 ; 14F5 SETVAL: 14F5 CD 24 10 CALL TSTV 14F8 DA 27 15 JC QWHAT 14FB E5 PUSH H 14FC CD 58 10 CALL TSTC 14FF 3D DB 03DH 1500 0A DB SV1-$-1 1501 CD 63 13 CALL EXPR 1504 44 MOV B,H 1505 4D MOV C,L 1506 E1 POP H 1507 71 MOV M,C 1508 23 INX H 1509 70 MOV M,B 150A C9 RET 150B SV1: 150B C3 27 15 JMP QWHAT 150E FIN: 150E CD 58 10 CALL TSTC 1511 3B DB 03BH 1512 04 DB FI1-$-1 1513 F1 POP PSW 1514 C3 59 11 JMP RUNSML 1517 FI1: 1517 CD 58 10 CALL TSTC 151A 0D DB 0DH 151B 21 DB FI2+1 151C F1 POP PSW 151D C3 49 11 JMP RUNNXL 1520 FI2: 1520 C9 RET 1521 ENDCHK: 1521 CD 15 10 CALL IGNB 1524 FE 0D CPI 0DH 1526 C8 RZ 1527 QWHAT: 1527 D5 PUSH D 1528 AWHAT: 1528 11 AA 10 LXI D,WHAT 152B ERROR: 152B 97 SUB A 152C CD CA 15 CALL PRTSTG 152F D1 POP D 1530 1A LDAX D 1531 F5 PUSH PSW 1532 97 SUB A 1533 12 STAX D 1534 2A 07 20 LHLD CURRNT 1537 E5 PUSH H 1538 7E MOV A,M 1539 23 INX H 153A B6 ORA M 153B D1 POP D 153C CA B8 10 JZ RSTART 153F 7E MOV A,M 1540 B7 ORA A 1541 FA EB 12 JM INPERR 1544 CD 4C 16 CALL PRTLN 1547 1B DCX D 1548 F1 POP PSW 1549 12 STAX D 154A 3E 3F MVI A,03FH 154C CD FB 16 CALL OUTC 154F 97 SUB A 1550 CD CA 15 CALL PRTSTG 1553 C3 B8 10 JMP RSTART 1556 QSORRY: 1556 D5 PUSH D 1557 ASORRY: 1557 11 B1 10 LXI D,SORRY 155A C3 2B 15 JMP ERROR 155D ; 155D ; GETLN FNDLN UPR 155D ; 155D GETLN: 155D CD FB 16 CALL OUTC 1560 CD A9 18 CALL DBUFF 1563 GL1: 1563 CD 20 17 CALL CHKIO 1566 FE 01 CPI 1 1568 CA 88 15 JZ GL3 156B CD FB 16 CALL OUTC 156E FE 0A CPI 0AH 1570 CA 63 15 JZ GL1 1573 B7 ORA A 1574 CA 63 15 JZ GL1 1577 FE 1B CPI 01BH 1579 CA 98 15 JZ GL4 157C 12 STAX D 157D 13 INX D 157E FE 0D CPI 0DH 1580 C8 RZ 1581 7B MOV A,E 1582 CD B9 18 CALL CXBUFE 1585 C2 63 15 JNZ GL1 1588 GL3: 1588 7B MOV A,E 1589 CD C0 18 CALL CXBUFA 158C CA 98 15 JZ GL4 158F 1B DCX D 1590 3E 08 MVI A,8 1592 CD FB 16 CALL OUTC 1595 C3 63 15 JMP GL1 1598 GL4: 1598 CD F9 16 CALL CRLF 159B 3E 0B MVI A,0BH 159D C3 5D 15 JMP GETLN 15A0 FNDLN: 15A0 7C MOV A,H 15A1 B7 ORA A 15A2 FA 96 10 JM QHOW 15A5 11 4E 21 LXI D,TXTBGN 15A8 FNDLP: 15A8 FL1: 15A8 E5 PUSH H 15A9 2A 1B 20 LHLD TXTUNF 15AC 2B DCX H 15AD CD 0F 10 CALL COMP 15B0 E1 POP H 15B1 D8 RC 15B2 1A LDAX D 15B3 95 SUB L 15B4 47 MOV B,A 15B5 13 INX D 15B6 1A LDAX D 15B7 9C SBB H 15B8 DA BF 15 JC FL2 15BB 1B DCX D 15BC B0 ORA B 15BD C9 RET 15BE FNDNXT: 15BE 13 INX D 15BF FL2: 15BF 13 INX D 15C0 FNDSKP: 15C0 1A LDAX D 15C1 FE 0D CPI 0DH 15C3 C2 BF 15 JNZ FL2 15C6 13 INX D 15C7 C3 A8 15 JMP FL1 15CA ; 15CA ; PRTSTG GTSTG PRTNUM PRTLN UPR 15CA ; 15CA PRTSTG: 15CA 47 MOV B,A 15CB PS1: 15CB 1A LDAX D 15CC 13 INX D 15CD B8 CMP B 15CE C8 RZ 15CF CD FB 16 CALL OUTC 15D2 FE 0D CPI 0DH 15D4 C2 CB 15 JNZ PS1 15D7 C9 RET 15D8 QTSTG: 15D8 CD 58 10 CALL TSTC 15DB 22 DB 22H 15DC 0F DB QT3-$-1 15DD 3E 22 MVI A,022H 15DF QT1: 15DF CD CA 15 CALL PRTSTG 15E2 FE 0D CPI 0DH 15E4 E1 POP H 15E5 CA 49 11 JZ RUNNXL 15E8 QT2: 15E8 23 INX H 15E9 23 INX H 15EA 23 INX H 15EB E9 PCHL 15EC QT3: 15EC CD 58 10 CALL TSTC 15EF 27 DB 027H 15F0 05 DB QT4-$-1 15F1 3E 27 MVI A,027H 15F3 C3 DF 15 JMP QT1 15F6 QT4: 15F6 CD 58 10 CALL TSTC 15F9 5F DB 05FH 15FA 0C DB QT5-$-1 15FB 3E 8D MVI A,08DH 15FD CD FB 16 CALL OUTC 1600 CD FB 16 CALL OUTC 1603 E1 POP H 1604 C3 E8 15 JMP QT2 1607 QT5: 1607 C9 RET 1608 PRTNUM: 1608 06 00 MVI B,0 160A CD D3 14 CALL CHKSGN 160D F2 13 16 JP PN1 1610 06 2D MVI B,02DH 1612 0D DCR C 1613 PN1: 1613 D5 PUSH D 1614 11 0A 00 LXI D,0AH 1617 D5 PUSH D 1618 0D DCR C 1619 C5 PUSH B 161A PN2: 161A CD B6 14 CALL DIVIDE 161D 78 MOV A,B 161E B1 ORA C 161F CA 2A 16 JZ PN3 1622 E3 XTHL 1623 2D DCR L 1624 E5 PUSH H 1625 60 MOV H,B 1626 69 MOV L,C 1627 C3 1A 16 JMP PN2 162A PN3: 162A C1 POP B 162B PN4: 162B 0D DCR C 162C 79 MOV A,C 162D B7 ORA A 162E FA 39 16 JM PN5 1631 3E 20 MVI A,020H 1633 CD FB 16 CALL OUTC 1636 C3 2B 16 JMP PN4 1639 PN5: 1639 78 MOV A,B 163A B7 ORA A 163B C4 FB 16 CNZ OUTC 163E 5D MOV E,L 163F PN6: 163F 7B MOV A,E 1640 FE 0A CPI 0AH 1642 D1 POP D 1643 C8 RZ 1644 C6 30 ADI 030H 1646 CD FB 16 CALL OUTC 1649 C3 3F 16 JMP PN6 164C PRTLN: 164C 1A LDAX D 164D 6F MOV L,A 164E 13 INX D 164F 1A LDAX D 1650 67 MOV H,A 1651 13 INX D 1652 0E 04 MVI C,4 1654 CD 08 16 CALL PRTNUM 1657 3E 20 MVI A,020H 1659 CD FB 16 CALL OUTC 165C 97 SUB A 165D CD CA 15 CALL PRTSTG 1660 C9 RET 1661 ; 1661 ; MVUP MVDOUN POPA PUSHA UPR 1661 ; 1661 ; 1661 MVUP: 1661 CD 0F 10 CALL COMP 1664 C8 RZ 1665 1A LDAX D 1666 02 STAX B 1667 13 INX D 1668 03 INX B 1669 C3 61 16 JMP MVUP 166C MVDOWN: 166C 78 MOV A,B 166D 92 SUB D 166E C2 74 16 JNZ MD1 1671 79 MOV A,C 1672 93 SUB E 1673 C8 RZ 1674 MD1: 1674 1B DCX D 1675 2B DCX H 1676 1A LDAX D 1677 77 MOV M,A 1678 C3 6C 16 JMP MVDOWN 167B POPA: 167B C1 POP B 167C E1 POP H 167D 22 0F 20 SHLD LOPVAR 1680 7C MOV A,H 1681 B5 ORA L 1682 CA 95 16 JZ PP1 1685 E1 POP H 1686 22 11 20 SHLD LOPINC 1689 E1 POP H 168A 22 13 20 SHLD LOPLMT 168D E1 POP H 168E 22 15 20 SHLD LOPLN 1691 E1 POP H 1692 22 17 20 SHLD LOPPT 1695 PP1: 1695 C5 PUSH B 1696 C9 RET 1697 PUSHA: 1697 21 45 20 LXI H,STKLMT 169A CD D6 14 CALL CHGSGN 169D C1 POP B 169E 39 DAD SP 169F D2 56 15 JNC QSORRY 16A2 2A 0F 20 LHLD LOPVAR 16A5 7C MOV A,H 16A6 B5 ORA L 16A7 CA BD 16 JZ PU1 16AA 2A 17 20 LHLD LOPPT 16AD E5 PUSH H 16AE 2A 15 20 LHLD LOPLN 16B1 E5 PUSH H 16B2 2A 13 20 LHLD LOPLMT 16B5 E5 PUSH H 16B6 2A 11 20 LHLD LOPINC 16B9 E5 PUSH H 16BA 2A 0F 20 LHLD LOPVAR 16BD PU1: 16BD E5 PUSH H 16BE C5 PUSH B 16BF C9 RET 16C0 ; 16C0 ;* OUTC CHKIO UPR * 16C0 ; 16C0 START: 16C0 31 0F 21 LXI SP,STACK 16C3 3E FF MVI A,0FFH 16C5 INIT: 16C5 32 06 20 STA OCSW 16C8 16 03 MVI D,3 16CA PATLOP: 16CA CD F9 16 CALL CRLF 16CD 15 DCR D 16CE C2 CA 16 JNZ PATLOP 16D1 97 SUB A 16D2 11 3A 17 LXI D,MSG1 16D5 CD CA 15 CALL PRTSTG 16D8 21 C0 16 LXI H,START 16DB 22 19 20 SHLD RANPNT 16DE 21 4E 21 LXI H,TXTBGN 16E1 22 1B 20 SHLD TXTUNF 16E4 21 A8 23 LXI H,TXTE 16E7 22 48 21 SHLD TXTEND 16EA 21 AA 23 LXI H,BUFA 16ED 22 4A 21 SHLD BUFFER 16F0 21 EA 23 LXI H,BUFE 16F3 22 4C 21 SHLD BUFEND 16F6 C3 B8 10 JMP RSTART 16F9 CRLF: 16F9 3E 0D MVI A,0DH 16FB OUTC: 16FB C5 PUSH B 16FC F5 PUSH PSW 16FD 3A 06 20 LDA OCSW 1700 B7 ORA A 1701 OC2: 1701 C2 07 17 JNZ OC3 1704 F1 POP PSW 1705 C1 POP B 1706 C9 RET 1707 OC3: 1707 F1 POP PSW 1708 F5 PUSH PSW 1709 4F MOV C,A 170A LPT: 170A 79 MOV A,C 170B FE 0D CPI 0DH 170D CA 16 17 JZ LINEF 1710 H1: 1710 CD 09 10 CALL ECHO 1713 F1 POP PSW 1714 C1 POP B 1715 C9 RET 1716 LINEF: 1716 0E 0D MVI C,0DH 1718 CD 09 10 CALL ECHO 171B 0E 0A MVI C,0AH 171D C3 10 17 JMP H1 1720 CHKIO: 1720 CD 06 10 CALL CI 1723 E6 7F ANI 7FH 1725 FE 02 CPI 2 1727 C2 34 17 JNZ CI1 172A 3A 06 20 LDA OCSW 172D 2F CMA 172E 32 06 20 STA OCSW 1731 C3 20 17 JMP CHKIO 1734 CI1: 1734 FE 03 CPI 3 1736 C0 RNZ 1737 C3 B8 10 JMP RSTART 173A MSG1: 173A 52 44 4B 20 50 52 4F 4D 50 54 20 42 41 53 49 43 20 56 33 2E 33 20 33 4B DB "RDK PROMPT BASIC V3.3 3K" 1752 0D 0A DB $0D,$0A 1754 ; .ASCII "RDK PRO\ 1754 ; \MPT "" 1754 ; .ASCII "BASIC V\ 1754 ; \3.2 3K\ 1754 ; \ 1754 ; " 1754 ; 1754 ; 1754 ; TABLES DIRECT EXEC 1754 ; KERNE 1754 ; .OPSYN .WORD, DWA5 1754 ; .OPSYN .ASCIZ,TX 1754 TAB1: 1754 ; TX 1754 4C 49 53 54 00 DB "LIST",0 1759 73 11 DW LIST 175B ; TX 175B 52 55 4E 00 DB "RUN",0 175F 43 11 DW RUN 1761 ; TX 1761 4E 45 57 00 DB "NEW",0 1765 34 11 DW NEW 1767 ; TX 1767 42 59 45 00 DB "BYE",0 176B F8 18 DW BYE 176D ; TX 176D 45 4E 44 00 DB "END",0 1771 C7 18 DW END 1773 TAB2: 1773 ; TX 1773 4E 45 58 54 00 DB "NEXT",0 1778 73 12 DW NEXT 177A 4C 45 54 00 DB "LET",0 177E 55 13 DW LET 1780 49 46 00 DB "IF",0 1783 DA 12 DW IFF 1785 47 4F 54 4F 00 DB "GOTO",0 178A 62 11 DW GOTO 178C 47 4F 53 55 42 00 DB "GOSUB",0 1792 D1 11 DW GOSUB 1794 52 45 54 55 52 4E 00 DB "RETURN",0 179B F3 11 DW RETURN 179D 52 45 4D 00 DB "REM",0 17A1 D4 12 DW REM 17A3 46 4F 52 00 DB "FOR",0 17A7 0E 12 DW FOR 17A9 49 4E 50 55 54 00 DB "INPUT",0 17AF F5 12 DW INPUT 17B1 50 52 49 4E 54 00 DB "PRINT",0 17B7 8B 11 DW PRINT 17B9 53 54 4F 50 00 DB "STOP",0 17BE 3D 11 DW STOP 17C0 43 41 4C 4C 00 DB "CALL",0 17C5 FC 18 DW CALL 17C7 4F 55 54 43 48 41 52 00 DB "OUTCHAR",0 17CF 01 1A DW OUTCHAR 17D1 4F 55 54 00 DB "OUT",0 17D5 09 19 DW OUT 17D7 4F 24 00 DB "O$",0 17DA 5A 19 DW O 17DC 49 24 00 DB "I$",0 17DF 67 19 DW I 17E1 50 4F 4B 45 00 DB "POKE",0 17E6 A0 19 DW POKE 17E8 54 41 42 00 DB "TAB",0 17EC 2F 19 DW TAB 17EE 42 59 54 45 00 DB "BYTE",0 17F3 B5 19 DW BYTE 17F5 57 4F 52 44 00 DB "WORD",0 17FA BF 19 DW WORD 17FC 00 DB 0 17FD 4F 13 DW DEFLT 17FF TAB4: 17FF 52 4E 44 00 DB "RND",0 1803 73 14 DW RND 1805 41 42 53 00 DB "ABS",0 1809 A0 14 DW ABS 180B 53 49 5A 45 00 DB "SIZE",0 1810 A9 14 DW SIZE 1812 50 45 45 4B 00 DB "PEEK",0 1817 99 19 DW PEEK 1819 49 4E 43 48 41 52 00 DB "INCHAR",0 1820 0B 1A DW INCHAR 1822 48 45 58 00 DB "HEX",0 1826 12 1A DW HEX 1828 49 4E 00 DB "IN",0 182B 40 19 DW IN 182D 27 00 DB "'",0 182F E9 19 DW QUOTE 1831 54 4F 50 00 DB "TOP",0 1835 F7 19 DW TOP 1837 4C 45 4E 00 DB "LEN",0 183B FC 19 DW LENGTH 183D 43 53 54 53 00 DB "CSTS",0 1842 E1 19 DW CSTAT 1844 00 DB 0 1845 51 14 DW XP40 1847 TAB5: 1847 54 4F 00 DB "TO",0 184A 1E 12 DW FR1 184C 00 DB 0 184D 27 15 DW QWHAT 184F TAB6: 184F 53 54 45 50 00 DB "STEP",0 1854 2A 12 DW FR2 1856 00 DB 0 1857 30 12 DW FR3 1859 TAB8: 1859 3E 3D 00 DB ">=",0 185C 6D 13 DW XP11 185E 23 00 DB "#",0 1860 73 13 DW XP12 1862 3E 00 DB ">",0 1864 79 13 DW XP13 1866 3D 00 DB "=",0 1868 88 13 DW XP15 186A 3C 3D 00 DB "<=",0 186D 80 13 DW XP14 186F 3C 00 DB "<",0 1871 8E 13 DW XP16 1873 00 DB 0 1874 94 13 DW XP17 1876 ; 1876 ;* DIRECT MODUL * 1876 ; 1876 DIRECT: 1876 21 53 17 LXI H,TAB1-1 1879 EXEC: 1879 EX0: 1879 CD 15 10 CALL IGNB 187C D5 PUSH D 187D EX1: 187D 1A LDAX D 187E 13 INX D 187F FE 2E CPI "." 1881 CA 9B 18 JZ EX3 1884 23 INX H 1885 BE CMP M 1886 CA 7D 18 JZ EX1 1889 3E 00 MVI A,0 188B 1B DCX D 188C BE CMP M 188D CA A2 18 JZ EX5 1890 EX2: 1890 23 INX H 1891 BE CMP M 1892 C2 90 18 JNZ EX2 1895 23 INX H 1896 23 INX H 1897 D1 POP D 1898 C3 79 18 JMP EX0 189B EX3: 189B 3E 00 MVI A,0 189D EX4: 189D 23 INX H 189E BE CMP M 189F C2 9D 18 JNZ EX4 18A2 EX5: 18A2 23 INX H 18A3 7E MOV A,M 18A4 23 INX H 18A5 66 MOV H,M 18A6 6F MOV L,A 18A7 F1 POP P 18A8 E9 PCHL 18A9 ; 18A9 ;* END EXEC * 18A9 ; 18A9 DBUFF: 18A9 E5 PUSH H 18AA 2A 4A 21 LHLD BUFFER 18AD 54 MOV D,H 18AE 5D MOV E,L 18AF E1 POP H 18B0 C9 RET 18B1 DTXTE: 18B1 E5 PUSH H 18B2 2A 48 21 LHLD TXTEND 18B5 54 MOV D,H 18B6 5D MOV E,L 18B7 E1 POP H 18B8 C9 RET 18B9 CXBUFE: 18B9 E5 PUSH H 18BA 2A 4C 21 LHLD BUFEND 18BD BD CMP L 18BE E1 POP H 18BF C9 RET 18C0 ; 18C0 CXBUFA: 18C0 E5 PUSH H 18C1 2A 4A 21 LHLD BUFFER 18C4 BD CMP L 18C5 E1 POP H 18C6 C9 RET 18C7 END: 18C7 CD 63 13 CALL EXPR 18CA EB XCHG 18CB 21 A8 23 LXI H,TXTE 18CE EB XCHG 18CF CD 0F 10 CALL COMP 18D2 DA 57 15 JC ASORRY 18D5 7C MOV A,H 18D6 B7 ORA A 18D7 FA 57 15 JM ASORRY 18DA 7E MOV A,M 18DB 2F CMA 18DC 77 MOV M,A 18DD 46 MOV B,M 18DE B8 CMP B 18DF C2 57 15 JNZ ASORRY 18E2 22 4C 21 SHLD BUFEND 18E5 7D MOV A,L 18E6 D6 84 SUI 132 18E8 6F MOV L,A 18E9 7C MOV A,H 18EA DE 00 SBI 0 18EC 67 MOV H,A 18ED 22 4A 21 SHLD BUFFER 18F0 2B DCX H 18F1 2B DCX H 18F2 22 48 21 SHLD TXTEND 18F5 C3 B8 10 JMP RSTART 18F8 ; 18F8 BYE: 18F8 FF RST 7 18F9 C3 B8 10 JMP RSTART 18FC ; 18FC CALL: 18FC CD 63 13 CALL EXPR 18FF D5 PUSH D 1900 01 05 19 LXI B,HERE 1903 C5 PUSH B 1904 E9 PCHL 1905 HERE: 1905 D1 POP D 1906 CD 1D 10 CALL FINI 1909 OUT: 1909 CD 62 14 CALL PARN 190C E5 PUSH H 190D CD 58 10 CALL TSTC 1910 3D DB "=" 1911 1A DB RSV0-$-1 1912 CD 63 13 CALL EXPR 1915 45 MOV B,L 1916 3E D3 MVI A,0D3H 1918 32 02 20 STA IOBUFA 191B E1 POP H 191C 7D MOV A,L 191D 32 03 20 STA IOBUFB 1920 3E C9 MVI A,0C9H 1922 32 04 20 STA IOBUFC 1925 78 MOV A,B 1926 CD 02 20 CALL IOBUFA 1929 CD 1D 10 CALL FINI 192C RSV0: 192C C3 27 15 JMP QWHAT 192F TAB: 192F CD 62 14 CALL PARN 1932 A1: 1932 7C MOV A,H 1933 B5 ORA L 1934 CC 1D 10 CZ FINI 1937 2B DCX H 1938 3E 20 MVI A,20H 193A CD FB 16 CALL OUTC 193D C3 32 19 JMP A1 1940 ; 1940 IN: 1940 CD 62 14 CALL PARN 1943 E5 PUSH H 1944 3E DB MVI A,0DBH 1946 32 02 20 STA IOBUFA 1949 E1 POP H 194A 7D MOV A,L 194B 32 03 20 STA IOBUFB 194E 3E C9 MVI A,0C9H 1950 32 04 20 STA IOBUFC 1953 CD 02 20 CALL IOBUFA 1956 26 00 MVI H,0 1958 6F MOV L,A 1959 C9 RET 195A O: 195A CD 63 13 CALL EXPR 195D D5 PUSH D 195E EB XCHG 195F AF XRA A 1960 CD CA 15 CALL PRTSTG 1963 D1 POP D 1964 CD 1D 10 CALL FINI 1967 I: 1967 CD 63 13 CALL EXPR 196A D5 PUSH D 196B EB XCHG 196C 2A 1B 20 LHLD TXTUNF 196F EB XCHG 1970 CD 0F 10 CALL COMP 1973 DA 57 15 JC ASORRY 1976 CD A9 18 CALL DBUFF 1979 CD 63 15 CALL GL1 197C 44 MOV B,H 197D 4D MOV C,L 197E EB XCHG 197F 2B DCX H 1980 CD A9 18 CALL DBUFF 1983 D5 PUSH D 1984 CD 61 16 CALL MVUP 1987 AF XRA A 1988 02 STAX B 1989 D1 POP D 198A 23 INX H 198B CD CC 14 CALL SUBDE 198E EB XCHG 198F 21 00 20 LXI H,LEGT 1992 73 MOV M,E 1993 23 INX H 1994 72 MOV M,D 1995 D1 POP D 1996 CD 1D 10 CALL FINI 1999 PEEK: 1999 CD 62 14 CALL PARN 199C 6E MOV L,M 199D 26 00 MVI H,0 199F C9 RET 19A0 POKE: 19A0 CD 63 13 CALL EXPR 19A3 E5 PUSH H 19A4 CD 58 10 CALL TSTC 19A7 2C DB "," 19A8 09 DB PK1-$-1 19A9 CD 63 13 CALL EXPR 19AC 7D MOV A,L 19AD E1 POP H 19AE 77 MOV M,A 19AF CD 1D 10 CALL FINI 19B2 PK1: 19B2 C3 27 15 JMP QWHAT 19B5 ; 19B5 BYTE: 19B5 CD 62 14 CALL PARN 19B8 7D MOV A,L 19B9 CD CD 19 CALL WRIT2 19BC CD 1D 10 CALL FINI 19BF WORD: 19BF CD 62 14 CALL PARN 19C2 7C MOV A,H 19C3 CD CD 19 CALL WRIT2 19C6 7D MOV A,L 19C7 CD CD 19 CALL WRIT2 19CA CD 1D 10 CALL FINI 19CD WRIT2: 19CD F5 PUSH PSW 19CE 0F RRC 19CF 0F RRC 19D0 0F RRC 19D1 0F RRC 19D2 CD D6 19 CALL IST 19D5 F1 POP PSW 19D6 IST: 19D6 E6 0F ANI 0FH 19D8 C6 90 ADI 90H 19DA 27 DAA 19DB CE 40 ACI 40H 19DD 27 DAA 19DE C3 FB 16 JMP OUTC 19E1 CSTAT: 19E1 CD 0C 10 CALL CSTS 19E4 2F CMA 19E5 6F MOV L,A 19E6 26 00 MVI H,0 19E8 C9 RET 19E9 QUOTE: 19E9 1A LDAX D 19EA 13 INX D 19EB 6F MOV L,A 19EC 26 00 MVI H,0 19EE CD 58 10 CALL TSTC 19F1 27 DB "'" 19F2 01 DB ASCI-$-1 19F3 C9 RET 19F4 ASCI: 19F4 C3 27 15 JMP QWHAT 19F7 ; 19F7 TOP: 19F7 2A 1B 20 LHLD TXTUNF 19FA 23 INX H 19FB C9 RET 19FC LENGTH: 19FC 2A 00 20 LHLD LEGT 19FF 2B DCX H 1A00 C9 RET 1A01 ; 1A01 OUTCHAR: 1A01 CD 63 13 CALL EXPR 1A04 7D MOV A,L 1A05 CD FB 16 CALL OUTC 1A08 CD 1D 10 CALL FINI 1A0B INCHAR: 1A0B CD 20 17 CALL CHKIO 1A0E 26 00 MVI H,0 1A10 6F MOV L,A 1A11 C9 RET 1A12 HEX: 1A12 C5 PUSH B 1A13 21 50 00 LXI H,80 1A16 CD 58 10 CALL TSTC 1A19 28 DB "(" 1A1A 1D DB HN2-$-1 1A1B HNXTH: 1A1B 1A LDAX D 1A1C FE 0D CPI 0DH 1A1E CA 27 15 JZ QWHAT 1A21 CD 3D 1A CALL CNVBN 1A24 29 DAD H 1A25 29 DAD H 1A26 29 DAD H 1A27 29 DAD H 1A28 06 00 MVI B,0 1A2A 4F MOV C,A 1A2B 09 DAD B 1A2C 13 INX D 1A2D CD 58 10 CALL TSTC 1A30 29 DB ")" 1A31 03 DB HN1-$-1 1A32 C3 3B 1A JMP POPRET 1A35 HN1: 1A35 C3 1B 1A JMP HNXTH 1A38 HN2: 1A38 C3 27 15 JMP QWHAT 1A3B POPRET: 1A3B C1 POP B 1A3C C9 RET 1A3D CNVBN: 1A3D FE 30 CPI 30H 1A3F FA 27 15 JM QWHAT 1A42 FE 39 CPI 39H 1A44 FA 54 1A JM CONTC 1A47 CA 54 1A JZ CONTC 1A4A FE 41 CPI 41H 1A4C FA 27 15 JM QWHAT 1A4F FE 47 CPI 47H 1A51 F2 27 15 JP QWHAT 1A54 CONTC: 1A54 D6 30 SUI 30H 1A56 FE 0A CPI 10 1A58 F8 RM 1A59 D6 07 SUI 7 1A5B C9 RET 1A5C ; 1A5C CONT: 1A5C CD 0C 10 CALL CSTS 1A5F C8 RZ 1A60 CD 06 10 CALL CI 1A63 FE 03 CPI 3 1A65 C0 RNZ 1A66 C3 B8 10 JMP RSTART 1A69 00 ENDE: NOP 2000 .ORG 2000H 2000 ; RAM=\ "RAM LOCATION" 2000 ;.LOC RAM 2000 ; 2000 ; .OPSYN .BLKB,DS 2000 ; 2000 LEGT: DS 2 2002 IOBUFA: DS 1 2003 IOBUFB: DS 1 2004 IOBUFC: DS 1 2005 LSTROM: DS 1 2006 OCSW: DS 1 2007 CURRNT: DS 2 2009 STKGOS: DS 2 200B VARNXT: DS 2 200D STKINP: DS 2 200F LOPVAR: DS 2 2011 LOPINC: DS 2 2013 LOPLMT: DS 2 2015 LOPLN: DS 2 2017 LOPPT: DS 2 2019 RANPNT: DS 2 201B TXTUNF: DS 2 201D DS 40 2045 STKLMT: DS 2 2047 DS 200 210F STACK: DS 2 2111 VARBGN: DS 55 2148 TXTEND: DS 2 214A BUFFER: DS 2 214C BUFEND: DS 2 214E TXTBGN: DS 2 2150 DS 600 23A8 TXTE: DS 2 23AA BUFA: DS 64 23EA BUFE: DS 1 23EB .END ANBAS: ANFANGS ADRESSE BASIC DEFINED AT LINE 17 BEGINN: 0FE3 DEFINED AT LINE 23 > USED AT LINE 20 > USED AT LINE 35 ANF: 0FEE DEFINED AT LINE 28 > USED AT LINE 32 HAUPTP: 1000 DEFINED AT LINE 39 > USED AT LINE 26 > USED AT LINE 27 > USED AT LINE 32 > USED AT LINE 34 CI: 1006 DEFINED AT LINE 42 > USED AT LINE 1255 > USED AT LINE 1746 ECHO: 1009 DEFINED AT LINE 43 > USED AT LINE 1244 > USED AT LINE 1251 CSTS: 100C DEFINED AT LINE 44 > USED AT LINE 1652 > USED AT LINE 1743 COMP: 100F DEFINED AT LINE 45 > USED AT LINE 78 > USED AT LINE 236 > USED AT LINE 439 > USED AT LINE 787 > USED AT LINE 876 > USED AT LINE 999 > USED AT LINE 1133 > USED AT LINE 1478 > USED AT LINE 1578 IGNB: 1015 DEFINED AT LINE 53 > USED AT LINE 58 > USED AT LINE 66 > USED AT LINE 100 > USED AT LINE 120 > USED AT LINE 194 > USED AT LINE 914 > USED AT LINE 1404 FINI: 101D DEFINED AT LINE 60 > USED AT LINE 328 > USED AT LINE 366 > USED AT LINE 427 > USED AT LINE 478 > USED AT LINE 484 > USED AT LINE 561 > USED AT LINE 573 > USED AT LINE 1515 > USED AT LINE 1534 > USED AT LINE 1543 > USED AT LINE 1571 > USED AT LINE 1600 > USED AT LINE 1618 > USED AT LINE 1626 > USED AT LINE 1634 > USED AT LINE 1684 TSTV: 1024 DEFINED AT LINE 65 > USED AT LINE 429 > USED AT LINE 514 > USED AT LINE 519 > USED AT LINE 752 > USED AT LINE 883 TV1: 1048 DEFINED AT LINE 84 > USED AT LINE 69 TSTC: 1058 DEFINED AT LINE 98 > USED AT LINE 298 > USED AT LINE 304 > USED AT LINE 310 > USED AT LINE 321 > USED AT LINE 556 > USED AT LINE 568 > USED AT LINE 645 > USED AT LINE 651 > USED AT LINE 657 > USED AT LINE 675 > USED AT LINE 686 > USED AT LINE 719 > USED AT LINE 765 > USED AT LINE 769 > USED AT LINE 886 > USED AT LINE 900 > USED AT LINE 906 > USED AT LINE 1037 > USED AT LINE 1052 > USED AT LINE 1058 > USED AT LINE 1520 > USED AT LINE 1611 > USED AT LINE 1663 > USED AT LINE 1696 > USED AT LINE 1712 TC1: 105D DEFINED AT LINE 102 TC2: 1068 DEFINED AT LINE 111 > USED AT LINE 104 TSTNUM: 106C DEFINED AT LINE 117 > USED AT LINE 193 > USED AT LINE 287 > USED AT LINE 760 TN1: 1073 DEFINED AT LINE 121 > USED AT LINE 148 QHOW: 1096 DEFINED AT LINE 149 > USED AT LINE 74 > USED AT LINE 128 > USED AT LINE 673 > USED AT LINE 743 > USED AT LINE 780 > USED AT LINE 782 > USED AT LINE 865 > USED AT LINE 992 AHOW: 1097 DEFINED AT LINE 151 > USED AT LINE 280 > USED AT LINE 343 > USED AT LINE 706 > USED AT LINE 714 > USED AT LINE 733 HOW: 109D DEFINED AT LINE 156 > USED AT LINE 152 OK: 10A3 DEFINED AT LINE 159 > USED AT LINE 179 WHAT: 10AA DEFINED AT LINE 162 > USED AT LINE 920 SORRY: 10B1 DEFINED AT LINE 165 > USED AT LINE 951 RSTART: 10B8 DEFINED AT LINE 175 > USED AT LINE 41 > USED AT LINE 229 > USED AT LINE 254 > USED AT LINE 262 > USED AT LINE 291 > USED AT LINE 500 > USED AT LINE 935 > USED AT LINE 947 > USED AT LINE 1221 > USED AT LINE 1266 > USED AT LINE 1501 > USED AT LINE 1505 > USED AT LINE 1749 ST1: 10BB DEFINED AT LINE 177 ST2: 10CB DEFINED AT LINE 184 > USED AT LINE 182 ST3: 10D4 DEFINED AT LINE 188 > USED AT LINE 244 ST4: 110B DEFINED AT LINE 223 > USED AT LINE 214 NEW: 1134 DEFINED AT LINE 248 > USED AT LINE 1292 STOP: 113D DEFINED AT LINE 252 > USED AT LINE 1323 RUN: 1143 DEFINED AT LINE 255 > USED AT LINE 1289 RUNNXL: 1149 DEFINED AT LINE 259 > USED AT LINE 308 > USED AT LINE 910 > USED AT LINE 1045 RUNTSL: 1152 DEFINED AT LINE 263 > USED AT LINE 282 > USED AT LINE 352 > USED AT LINE 499 RUNSML: 1159 DEFINED AT LINE 271 > USED AT LINE 302 > USED AT LINE 497 > USED AT LINE 904 GOTO: 1162 DEFINED AT LINE 275 > USED AT LINE 1308 LIST: 1173 DEFINED AT LINE 286 > USED AT LINE 1286 LS1: 117C DEFINED AT LINE 290 > USED AT LINE 295 PRINT: 118B DEFINED AT LINE 296 > USED AT LINE 1321 PR2: 1198 DEFINED AT LINE 303 > USED AT LINE 300 PR0: 11A3 DEFINED AT LINE 309 > USED AT LINE 306 > USED AT LINE 325 PR1: 11AF DEFINED AT LINE 316 > USED AT LINE 312 PR3: 11B5 DEFINED AT LINE 320 > USED AT LINE 315 > USED AT LINE 334 PR6: 11C0 DEFINED AT LINE 326 > USED AT LINE 323 PR8: 11C6 DEFINED AT LINE 329 > USED AT LINE 318 GOSUB: 11D1 DEFINED AT LINE 338 > USED AT LINE 1310 RETURN: 11F3 DEFINED AT LINE 353 > USED AT LINE 1312 FOR: 120E DEFINED AT LINE 370 > USED AT LINE 1317 FR1: 121E DEFINED AT LINE 377 > USED AT LINE 1371 FR2: 122A DEFINED AT LINE 383 > USED AT LINE 1377 FR3: 1230 DEFINED AT LINE 386 > USED AT LINE 1379 FR4: 1233 DEFINED AT LINE 388 > USED AT LINE 385 FR5: 1236 DEFINED AT LINE 390 FR7: 124B DEFINED AT LINE 402 > USED AT LINE 411 > USED AT LINE 414 FR8: 126C DEFINED AT LINE 424 > USED AT LINE 407 NEXT: 1273 DEFINED AT LINE 428 > USED AT LINE 1302 NX0: 127C DEFINED AT LINE 432 > USED AT LINE 445 NX3: 1296 DEFINED AT LINE 446 > USED AT LINE 440 NX4: 12A8 DEFINED AT LINE 459 > USED AT LINE 456 NX1: 12B8 DEFINED AT LINE 470 > USED AT LINE 468 NX5: 12CC DEFINED AT LINE 479 > USED AT LINE 458 NX2: 12CE DEFINED AT LINE 482 > USED AT LINE 473 REM: 12D4 DEFINED AT LINE 489 > USED AT LINE 1315 IFF: 12DA DEFINED AT LINE 492 > USED AT LINE 1306 IFFR: 12DD DEFINED AT LINE 494 > USED AT LINE 491 INPERR: 12EB DEFINED AT LINE 501 > USED AT LINE 938 INPUT: 12F5 DEFINED AT LINE 509 > USED AT LINE 1319 IP1: 12F5 DEFINED AT LINE 510 > USED AT LINE 535 > USED AT LINE 559 IP2: 1305 DEFINED AT LINE 517 > USED AT LINE 513 IP3: 1317 DEFINED AT LINE 530 > USED AT LINE 516 IP4: 1343 DEFINED AT LINE 554 > USED AT LINE 515 IP5: 134C DEFINED AT LINE 560 > USED AT LINE 558 DEFLT: 134F DEFINED AT LINE 562 > USED AT LINE 1343 LET: 1355 DEFINED AT LINE 566 > USED AT LINE 571 > USED AT LINE 1304 LT1: 1360 DEFINED AT LINE 572 > USED AT LINE 565 > USED AT LINE 570 EXPR: 1363 DEFINED AT LINE 577 > USED AT LINE 276 > USED AT LINE 313 > USED AT LINE 330 > USED AT LINE 340 > USED AT LINE 378 > USED AT LINE 384 > USED AT LINE 493 > USED AT LINE 544 > USED AT LINE 768 > USED AT LINE 889 > USED AT LINE 1474 > USED AT LINE 1508 > USED AT LINE 1523 > USED AT LINE 1565 > USED AT LINE 1573 > USED AT LINE 1609 > USED AT LINE 1614 > USED AT LINE 1681 EXPR1: 1367 DEFINED AT LINE 580 XP11: 136D DEFINED AT LINE 584 > USED AT LINE 1382 XP12: 1373 DEFINED AT LINE 590 > USED AT LINE 1384 XP13: 1379 DEFINED AT LINE 596 > USED AT LINE 1386 XP14: 1380 DEFINED AT LINE 603 > USED AT LINE 1390 XP15: 1388 DEFINED AT LINE 611 > USED AT LINE 1388 XP16: 138E DEFINED AT LINE 617 > USED AT LINE 1392 XP17: 1394 DEFINED AT LINE 623 > USED AT LINE 1394 XP18: 1396 DEFINED AT LINE 627 > USED AT LINE 585 > USED AT LINE 591 > USED AT LINE 597 > USED AT LINE 604 > USED AT LINE 612 > USED AT LINE 618 EXPR2: 13AB DEFINED AT LINE 644 > USED AT LINE 578 > USED AT LINE 635 XP21: 13B6 DEFINED AT LINE 650 > USED AT LINE 647 XP22: 13BB DEFINED AT LINE 654 > USED AT LINE 653 XP23: 13BE DEFINED AT LINE 656 > USED AT LINE 670 > USED AT LINE 672 XP24: 13C7 DEFINED AT LINE 662 > USED AT LINE 682 XP25: 13D8 DEFINED AT LINE 674 > USED AT LINE 659 XP26: 13DD DEFINED AT LINE 678 > USED AT LINE 649 EXPR3: 13E7 DEFINED AT LINE 683 > USED AT LINE 655 > USED AT LINE 661 > USED AT LINE 680 XP31: 13EA DEFINED AT LINE 685 > USED AT LINE 747 XP32: 1409 DEFINED AT LINE 707 > USED AT LINE 702 XP33: 1411 DEFINED AT LINE 712 > USED AT LINE 716 XP34: 141C DEFINED AT LINE 718 > USED AT LINE 688 XP35: 143D DEFINED AT LINE 739 > USED AT LINE 711 > USED AT LINE 717 EXPR4: 144B DEFINED AT LINE 748 > USED AT LINE 684 > USED AT LINE 690 > USED AT LINE 723 XP40: 1451 DEFINED AT LINE 751 > USED AT LINE 1368 XP41: 145C DEFINED AT LINE 759 > USED AT LINE 753 PARN: 1462 DEFINED AT LINE 764 > USED AT LINE 72 > USED AT LINE 777 > USED AT LINE 804 > USED AT LINE 1518 > USED AT LINE 1539 > USED AT LINE 1550 > USED AT LINE 1603 > USED AT LINE 1623 > USED AT LINE 1629 XP42: 146F DEFINED AT LINE 772 > USED AT LINE 677 > USED AT LINE 721 XP43: 1470 DEFINED AT LINE 774 > USED AT LINE 767 > USED AT LINE 771 RND: 1473 DEFINED AT LINE 776 > USED AT LINE 1346 RA1: 1490 DEFINED AT LINE 790 > USED AT LINE 788 ABS: 14A0 DEFINED AT LINE 803 > USED AT LINE 1348 SIZE: 14A9 DEFINED AT LINE 809 > USED AT LINE 77 > USED AT LINE 1350 DIVIDE: 14B6 DEFINED AT LINE 822 > USED AT LINE 735 > USED AT LINE 798 > USED AT LINE 1081 DV1: 14C1 DEFINED AT LINE 831 > USED AT LINE 826 DV2: 14C3 DEFINED AT LINE 833 > USED AT LINE 836 SUBDE: 14CC DEFINED AT LINE 839 > USED AT LINE 81 > USED AT LINE 814 > USED AT LINE 835 > USED AT LINE 1593 CHKSGN: 14D3 DEFINED AT LINE 847 > USED AT LINE 692 > USED AT LINE 694 > USED AT LINE 725 > USED AT LINE 727 > USED AT LINE 806 > USED AT LINE 1070 CHGSGN: 14D6 DEFINED AT LINE 851 > USED AT LINE 681 > USED AT LINE 746 > USED AT LINE 1173 CKHLDE: 14EB DEFINED AT LINE 870 > USED AT LINE 471 > USED AT LINE 638 CK1: 14F1 DEFINED AT LINE 875 > USED AT LINE 873 SETVAL: 14F5 DEFINED AT LINE 882 > USED AT LINE 372 > USED AT LINE 567 SV1: 150B DEFINED AT LINE 897 > USED AT LINE 888 FIN: 150E DEFINED AT LINE 899 > USED AT LINE 62 > USED AT LINE 324 FI1: 1517 DEFINED AT LINE 905 > USED AT LINE 902 FI2: 1520 DEFINED AT LINE 911 > USED AT LINE 908 ENDCHK: 1521 DEFINED AT LINE 913 > USED AT LINE 249 > USED AT LINE 253 > USED AT LINE 256 > USED AT LINE 278 > USED AT LINE 288 > USED AT LINE 354 QWHAT: 1527 DEFINED AT LINE 917 > USED AT LINE 63 > USED AT LINE 358 > USED AT LINE 430 > USED AT LINE 520 > USED AT LINE 775 > USED AT LINE 884 > USED AT LINE 898 > USED AT LINE 1373 > USED AT LINE 1536 > USED AT LINE 1620 > USED AT LINE 1668 > USED AT LINE 1702 > USED AT LINE 1719 > USED AT LINE 1726 > USED AT LINE 1732 > USED AT LINE 1734 AWHAT: 1528 DEFINED AT LINE 919 > USED AT LINE 438 ERROR: 152B DEFINED AT LINE 921 > USED AT LINE 153 > USED AT LINE 952 QSORRY: 1556 DEFINED AT LINE 948 > USED AT LINE 237 > USED AT LINE 1176 ASORRY: 1557 DEFINED AT LINE 950 > USED AT LINE 79 > USED AT LINE 1479 > USED AT LINE 1482 > USED AT LINE 1488 > USED AT LINE 1579 GETLN: 155D DEFINED AT LINE 956 > USED AT LINE 190 > USED AT LINE 542 > USED AT LINE 988 GL1: 1563 DEFINED AT LINE 959 > USED AT LINE 965 > USED AT LINE 967 > USED AT LINE 976 > USED AT LINE 984 > USED AT LINE 1581 GL3: 1588 DEFINED AT LINE 977 > USED AT LINE 962 GL4: 1598 DEFINED AT LINE 985 > USED AT LINE 969 > USED AT LINE 980 FNDLN: 15A0 DEFINED AT LINE 989 > USED AT LINE 212 > USED AT LINE 279 > USED AT LINE 289 > USED AT LINE 342 FNDLP: 15A8 DEFINED AT LINE 994 > USED AT LINE 261 > USED AT LINE 294 FL1: 15A8 DEFINED AT LINE 995 > USED AT LINE 1021 FNDNXT: 15BE DEFINED AT LINE 1012 > USED AT LINE 216 FL2: 15BF DEFINED AT LINE 1014 > USED AT LINE 1008 > USED AT LINE 1019 FNDSKP: 15C0 DEFINED AT LINE 1016 > USED AT LINE 498 PRTSTG: 15CA DEFINED AT LINE 1025 > USED AT LINE 181 > USED AT LINE 526 > USED AT LINE 923 > USED AT LINE 946 > USED AT LINE 1042 > USED AT LINE 1126 > USED AT LINE 1210 > USED AT LINE 1569 PS1: 15CB DEFINED AT LINE 1027 > USED AT LINE 1034 QTSTG: 15D8 DEFINED AT LINE 1036 > USED AT LINE 317 > USED AT LINE 512 QT1: 15DF DEFINED AT LINE 1041 > USED AT LINE 1056 QT2: 15E8 DEFINED AT LINE 1046 > USED AT LINE 1065 QT3: 15EC DEFINED AT LINE 1051 > USED AT LINE 1039 QT4: 15F6 DEFINED AT LINE 1057 > USED AT LINE 1054 QT5: 1607 DEFINED AT LINE 1066 > USED AT LINE 1060 PRTNUM: 1608 DEFINED AT LINE 1068 > USED AT LINE 332 > USED AT LINE 1122 PN1: 1613 DEFINED AT LINE 1074 > USED AT LINE 1071 PN2: 161A DEFINED AT LINE 1080 > USED AT LINE 1090 PN3: 162A DEFINED AT LINE 1091 > USED AT LINE 1084 PN4: 162B DEFINED AT LINE 1093 > USED AT LINE 1100 PN5: 1639 DEFINED AT LINE 1101 > USED AT LINE 1097 PN6: 163F DEFINED AT LINE 1106 > USED AT LINE 1113 PRTLN: 164C DEFINED AT LINE 1114 > USED AT LINE 292 > USED AT LINE 939 MVUP: 1661 DEFINED AT LINE 1132 > USED AT LINE 219 > USED AT LINE 243 > USED AT LINE 1139 > USED AT LINE 1588 MVDOWN: 166C DEFINED AT LINE 1140 > USED AT LINE 240 > USED AT LINE 422 > USED AT LINE 1152 MD1: 1674 DEFINED AT LINE 1147 > USED AT LINE 1143 POPA: 167B DEFINED AT LINE 1153 > USED AT LINE 365 > USED AT LINE 443 > USED AT LINE 483 PP1: 1695 DEFINED AT LINE 1168 > USED AT LINE 1159 PUSHA: 1697 DEFINED AT LINE 1171 > USED AT LINE 339 > USED AT LINE 371 PU1: 16BD DEFINED AT LINE 1190 > USED AT LINE 1180 START: 16C0 DEFINED AT LINE 1198 > USED AT LINE 38 > USED AT LINE 40 > USED AT LINE 789 > USED AT LINE 1211 INIT: 16C5 DEFINED AT LINE 1201 PATLOP: 16CA DEFINED AT LINE 1204 > USED AT LINE 1207 CRLF: 16F9 DEFINED AT LINE 1223 > USED AT LINE 178 > USED AT LINE 301 > USED AT LINE 307 > USED AT LINE 327 > USED AT LINE 986 > USED AT LINE 1205 OUTC: 16FB DEFINED AT LINE 1225 > USED AT LINE 944 > USED AT LINE 957 > USED AT LINE 963 > USED AT LINE 983 > USED AT LINE 1032 > USED AT LINE 1062 > USED AT LINE 1063 > USED AT LINE 1099 > USED AT LINE 1104 > USED AT LINE 1112 > USED AT LINE 1124 > USED AT LINE 1546 > USED AT LINE 1649 > USED AT LINE 1683 OC2: 1701 DEFINED AT LINE 1230 OC3: 1707 DEFINED AT LINE 1235 > USED AT LINE 1231 LPT: 170A DEFINED AT LINE 1239 H1: 1710 DEFINED AT LINE 1243 > USED AT LINE 1253 LINEF: 1716 DEFINED AT LINE 1249 > USED AT LINE 1242 CHKIO: 1720 DEFINED AT LINE 1254 > USED AT LINE 960 > USED AT LINE 1262 > USED AT LINE 1688 CI1: 1734 DEFINED AT LINE 1263 > USED AT LINE 1258 MSG1: 173A DEFINED AT LINE 1267 > USED AT LINE 1209 TAB1: 1754 DEFINED AT LINE 1283 > USED AT LINE 1401 TAB2: 1773 DEFINED AT LINE 1299 > USED AT LINE 273 TAB4: 17FF DEFINED AT LINE 1344 > USED AT LINE 749 TAB5: 1847 DEFINED AT LINE 1369 > USED AT LINE 375 TAB6: 184F DEFINED AT LINE 1375 > USED AT LINE 381 TAB8: 1859 DEFINED AT LINE 1380 > USED AT LINE 581 DIRECT: 1876 DEFINED AT LINE 1400 > USED AT LINE 199 EXEC: 1879 DEFINED AT LINE 1402 > USED AT LINE 274 > USED AT LINE 376 > USED AT LINE 382 > USED AT LINE 582 > USED AT LINE 750 EX0: 1879 DEFINED AT LINE 1403 > USED AT LINE 1425 EX1: 187D DEFINED AT LINE 1406 > USED AT LINE 1413 EX2: 1890 DEFINED AT LINE 1418 > USED AT LINE 1421 EX3: 189B DEFINED AT LINE 1426 > USED AT LINE 1410 EX4: 189D DEFINED AT LINE 1428 > USED AT LINE 1431 EX5: 18A2 DEFINED AT LINE 1432 > USED AT LINE 1417 DBUFF: 18A9 DEFINED AT LINE 1443 > USED AT LINE 192 > USED AT LINE 543 > USED AT LINE 958 > USED AT LINE 1580 > USED AT LINE 1586 DTXTE: 18B1 DEFINED AT LINE 1451 > USED AT LINE 235 CXBUFE: 18B9 DEFINED AT LINE 1459 > USED AT LINE 975 CXBUFA: 18C0 DEFINED AT LINE 1466 > USED AT LINE 979 END: 18C7 DEFINED AT LINE 1473 > USED AT LINE 1298 BYE: 18F8 DEFINED AT LINE 1503 > USED AT LINE 1295 CALL: 18FC DEFINED AT LINE 1507 > USED AT LINE 1325 HERE: 1905 DEFINED AT LINE 1513 > USED AT LINE 1510 OUT: 1909 DEFINED AT LINE 1517 > USED AT LINE 1329 RSV0: 192C DEFINED AT LINE 1535 > USED AT LINE 1522 TAB: 192F DEFINED AT LINE 1538 > USED AT LINE 1337 A1: 1932 DEFINED AT LINE 1540 > USED AT LINE 1547 IN: 1940 DEFINED AT LINE 1549 > USED AT LINE 1358 O: 195A DEFINED AT LINE 1564 > USED AT LINE 1331 I: 1967 DEFINED AT LINE 1572 > USED AT LINE 1333 PEEK: 1999 DEFINED AT LINE 1602 > USED AT LINE 1352 POKE: 19A0 DEFINED AT LINE 1608 > USED AT LINE 1335 PK1: 19B2 DEFINED AT LINE 1619 > USED AT LINE 1613 BYTE: 19B5 DEFINED AT LINE 1622 > USED AT LINE 1339 WORD: 19BF DEFINED AT LINE 1628 > USED AT LINE 1341 WRIT2: 19CD DEFINED AT LINE 1635 > USED AT LINE 1625 > USED AT LINE 1631 > USED AT LINE 1633 IST: 19D6 DEFINED AT LINE 1643 > USED AT LINE 1641 CSTAT: 19E1 DEFINED AT LINE 1651 > USED AT LINE 1366 QUOTE: 19E9 DEFINED AT LINE 1658 > USED AT LINE 1360 ASCI: 19F4 DEFINED AT LINE 1667 > USED AT LINE 1665 TOP: 19F7 DEFINED AT LINE 1670 > USED AT LINE 1362 LENGTH: 19FC DEFINED AT LINE 1675 > USED AT LINE 1364 OUTCHAR: 1A01 DEFINED AT LINE 1680 > USED AT LINE 1327 INCHAR: 1A0B DEFINED AT LINE 1687 > USED AT LINE 1354 HEX: 1A12 DEFINED AT LINE 1693 > USED AT LINE 1356 HNXTH: 1A1B DEFINED AT LINE 1699 > USED AT LINE 1717 HN1: 1A35 DEFINED AT LINE 1716 > USED AT LINE 1714 HN2: 1A38 DEFINED AT LINE 1718 > USED AT LINE 1698 POPRET: 1A3B DEFINED AT LINE 1720 > USED AT LINE 1715 CNVBN: 1A3D DEFINED AT LINE 1724 > USED AT LINE 1703 CONTC: 1A54 DEFINED AT LINE 1735 > USED AT LINE 1728 > USED AT LINE 1729 CONT: 1A5C DEFINED AT LINE 1742 > USED AT LINE 272 > USED AT LINE 293 > USED AT LINE 545 ENDE: 1A69 DEFINED AT LINE 1752 > USED AT LINE 35 LEGT: 2000 DEFINED AT LINE 1760 > USED AT LINE 1595 > USED AT LINE 1676 IOBUFA: 2002 DEFINED AT LINE 1761 > USED AT LINE 1526 > USED AT LINE 1533 > USED AT LINE 1554 > USED AT LINE 1560 IOBUFB: 2003 DEFINED AT LINE 1762 > USED AT LINE 1529 > USED AT LINE 1557 IOBUFC: 2004 DEFINED AT LINE 1763 > USED AT LINE 1531 > USED AT LINE 1559 LSTROM: 2005 DEFINED AT LINE 1764 > USED AT LINE 786 OCSW: 2006 DEFINED AT LINE 1765 > USED AT LINE 1202 > USED AT LINE 1228 > USED AT LINE 1259 > USED AT LINE 1261 CURRNT: 2007 DEFINED AT LINE 1766 > USED AT LINE 183 > USED AT LINE 267 > USED AT LINE 344 > USED AT LINE 363 > USED AT LINE 391 > USED AT LINE 475 > USED AT LINE 506 > USED AT LINE 533 > USED AT LINE 536 > USED AT LINE 552 > USED AT LINE 929 STKGOS: 2009 DEFINED AT LINE 1767 > USED AT LINE 187 > USED AT LINE 346 > USED AT LINE 351 > USED AT LINE 355 > USED AT LINE 361 VARNXT: 200B DEFINED AT LINE 1768 > USED AT LINE 431 > USED AT LINE 444 STKINP: 200D DEFINED AT LINE 1769 > USED AT LINE 502 > USED AT LINE 539 LOPVAR: 200F DEFINED AT LINE 1770 > USED AT LINE 186 > USED AT LINE 349 > USED AT LINE 374 > USED AT LINE 396 > USED AT LINE 435 > USED AT LINE 461 > USED AT LINE 1156 > USED AT LINE 1177 > USED AT LINE 1189 LOPINC: 2011 DEFINED AT LINE 1771 > USED AT LINE 389 > USED AT LINE 450 > USED AT LINE 1161 > USED AT LINE 1187 LOPLMT: 2013 DEFINED AT LINE 1772 > USED AT LINE 380 > USED AT LINE 465 > USED AT LINE 1163 > USED AT LINE 1185 LOPLN: 2015 DEFINED AT LINE 1773 > USED AT LINE 392 > USED AT LINE 474 > USED AT LINE 1165 > USED AT LINE 1183 LOPPT: 2017 DEFINED AT LINE 1774 > USED AT LINE 394 > USED AT LINE 425 > USED AT LINE 476 > USED AT LINE 1167 > USED AT LINE 1181 RANPNT: 2019 DEFINED AT LINE 1775 > USED AT LINE 785 > USED AT LINE 794 > USED AT LINE 1212 TXTUNF: 201B DEFINED AT LINE 1776 > USED AT LINE 218 > USED AT LINE 222 > USED AT LINE 225 > USED AT LINE 238 > USED AT LINE 251 > USED AT LINE 810 > USED AT LINE 997 > USED AT LINE 1214 > USED AT LINE 1576 > USED AT LINE 1671 STKLMT: 2045 DEFINED AT LINE 1778 > USED AT LINE 1172 STACK: 210F DEFINED AT LINE 1780 > USED AT LINE 24 > USED AT LINE 176 > USED AT LINE 1199 VARBGN: 2111 DEFINED AT LINE 1781 > USED AT LINE 89 TXTEND: 2148 DEFINED AT LINE 1782 > USED AT LINE 80 > USED AT LINE 813 > USED AT LINE 1216 > USED AT LINE 1453 > USED AT LINE 1500 BUFFER: 214A DEFINED AT LINE 1783 > USED AT LINE 1218 > USED AT LINE 1445 > USED AT LINE 1468 > USED AT LINE 1497 BUFEND: 214C DEFINED AT LINE 1784 > USED AT LINE 1220 > USED AT LINE 1461 > USED AT LINE 1489 TXTBGN: 214E DEFINED AT LINE 1785 > USED AT LINE 250 > USED AT LINE 258 > USED AT LINE 993 > USED AT LINE 1213 TXTE: 23A8 DEFINED AT LINE 1787 > USED AT LINE 1215 > USED AT LINE 1476 BUFA: 23AA DEFINED AT LINE 1788 > USED AT LINE 1217 BUFE: 23EA DEFINED AT LINE 1789 > USED AT LINE 1219